﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Enterprise.Data.Entities;
using Enterprise.Data.Repository;


namespace Enterprise.Bussiness.Components
{
    public class Autenticacao
    {
        public bool Autenticar(Credencial credencial) 
        {
            throw new Exception("Metodo nao implementado!");
        }

        public Passaporte CriarPassaporte(Credencial credencial) 
        {
          
            Passaporte passaporte = new Passaporte();
            passaporte.Usuario = credencial.Usuario;
            passaporte.Origem = credencial.Origem;
            passaporte.DataDeGeracao = DateTime.Now;
            passaporte.DataExpiracao = DateTime.Now.AddMinutes(20);
            passaporte.PassaporteId = Guid.NewGuid();
            RepositorioPassaporte repositorioPassaporte = new RepositorioPassaporte();
            try
            {
                repositorioPassaporte.Salvar(passaporte);
                return passaporte;
            }
            catch (Exception ex)
            {
                throw ex;
            }
          


            
        }

        public void ExpirarPassaporte(Passaporte passaporte)
        {
            throw new Exception("Metodo nao implementado!");
        }

        public DateTime RenovarPassaporte(Passaporte passaporte) 
        {
            throw new Exception("Metodo nao implementado!");
        }


    }
}
